package dept

import "go-caipu/pkg/services/dto"

type Dept struct {
	DeptId           int64   `json:"id,string"`       //部门编码
	ParentId         int64   `json:"parentId,string"` //上级部门
	DeptPath         string  `json:"deptPath"`        //
	DeptName         string  `json:"name"`            //部门名称
	IsSystem         bool    `json:"isSystem"`
	Sort             int     `json:"sort"`        //排序
	Leader           int     `json:"leader"`      //负责人
	Phone            string  `json:"phone"`       //手机
	Email            string  `json:"email"`       //邮箱
	Status           int     `json:"status"`      //状态
	Remark           string  `json:"description"` //描述
	Children         []*Dept `json:"children,omitempty"`
	CreateUserString string  `json:"createUserString"` //创建人
	UpdateUserString string  `json:"updateUserString"` //更新人
	CreatedAt        string  `json:"createTime" gorm:"comment:创建时间"`
	UpdatedAt        string  `json:"updateTime" gorm:"comment:最后更新时间"`
	dto.ControlBy
}
type GetDeptTreeListCommand struct {
	DeptName string `form:"description" search:"type:contains;column:dept_name;table:sys_dept" comment:"部门名称"` //部门名称
	Status   string `form:"status" search:"type:exact;column:status;table:sys_dept" comment:"状态"`              //状态
}

type GetDeptCommand struct {
	Id string `uri:"id,string"`
}

type DeleteDeptCommand struct {
	Ids []string `json:"ids"`
}

// TreeDept 部门选择树
type TreeDept struct {
	Key      string     `json:"key"`
	Title    string     `json:"title"`
	Sort     int        `json:"sort,omitempty"` //type 前台判断图标类型
	ParentId int64      `json:"parentId"`
	Children []TreeDept `json:"children,omitempty"`
}
type SelectDept struct {
	ID       string `json:"id"`
	Name     string `json:"name"`
	ParentId string `json:"parentId"`
}
